import { BASE_URL, LOGIN, REGISTER } from './api.js';

// 初始化绑定登录事件
$('.btn').on('click', login);
// 返显记忆的账号密码
function reShow () {
    const accountInfo = JSON.parse(localStorage.getItem('accountInfo'));
    if (accountInfo) {
        $('.username').val(accountInfo.username);
        $('.pwd-inp').val(accountInfo.password);
        $('.record').prop('checked', true);
    }
}
reShow();

// 切换登录/注册模块
let isLogin = true;
$('#switch-btn').on('click', function () {
    if (isLogin) {
        // 去往注册模块
        $(this).text('去登录');
        $('.btn').text('注册');
        $('.btn').off('click', login);
        $('.btn').on('click', register);
        // 显示再次输入密码框
        $('#pwd').show();
        // 清除记住密码的状态
        $('.username').val('');
        $('.pwd-inp').val('');
        $('.remember').hide();
    } else {
        // 去往登录模块
        $(this).text('去注册账号');
        $('.btn').text('登录');
        $('.btn').off('click', register);
        $('.btn').on('click', login);
        // 隐藏再次输入密码框
        $('#pwd').hide();
        // 恢复记住密码的状态
        reShow();
        $('.remember').show();
    }
    isLogin = !isLogin;
});

// 记住密码
function recordAccount () {
    // 如果没选复选框  就不执行下面的代码了
    if (!$('.record').prop('checked')) {
        return;
    }
    const accountInfo = {
        username: $('.username').val(),
        password: $('.pwd-inp').val(),
    };
    localStorage.setItem('accountInfo', JSON.stringify(accountInfo));
}
// 点击取消记住密码
$('.record').on('change', function () {
    if (!$(this).prop('checked')) {
        localStorage.removeItem('accountInfo');
    }
});

async function login () {
    // 显示loading
    $('.btn').text('登陆中').attr('disabled', true);
    const res = await axios({
        url: BASE_URL + LOGIN,
        method: 'POST',
        data: {
            username: $('.username').val(),
            password: $('.pwd-inp').val(),
        },
    });
    // 结束loading
    $('.btn').text('登陆').attr('disabled', false);
    // 登录成功
    if (res.data.code === 0) {
        // 把token扔到本地存储中
        localStorage.setItem('token', res.data.token);
        // 记忆账号密码
        recordAccount();
        // 跳转页面
        location.href = location.origin;
    } else {
        alert('登录失败');
    }
}

async function register () {
    const password = $('.username').val();
    const repassword = $('#pwd').val();
    if (password !== repassword) {
        alert("密码不一致");
        return;
    }
    const res = await axios({
        url: BASE_URL + REGISTER,
        method: 'POST',
        data: {
            username: $('.username').val(),
            password: $('.pwd-inp').val(),
            repassword: $('#pwd').val(),
        },
    });
    console.log(res);
}